package com.gict.antifraudback.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 
 * @TableName article_comment
 */
@TableName(value ="article_comment")
@Data
public class ArticleComment extends BaseEntity implements Serializable {
    /**
     * 关联的文章ID
     */
    private Integer articleId;

    /**
     * 关联的文章ID
     */
    @TableField(exist = false)
    private String articleTitle;

    /**
     * 评论者使用的浏览器
     */
    private String userAgent;

    /**
     * 评论者的ip地址
     */
    private String ip;

    /**
     * 父评论的ID (用于子评论)
     */
    private Integer parentCommentId;

    /**
     * 发表评论的用户ID
     */
    private Integer userId;

    /**
     * 用户名称
     */
    @TableField(exist = false)
    private String userName;

    /**
     * 用户头像
     */
    @TableField(exist = false)
    private String userAvatar;

    /**
     * 被评论的用户ID
     */
    private Integer toId;

    /**
     * 被评论的用户名称
     */
    @TableField(exist = false)
    private String toName;

    /**
     * 被评论的用户头像
     */
    @TableField(exist = false)
    private String toAvatar;

    /**
     * 用户邮箱
     */
    @TableField(exist = false)
    private String userEmail;

    /**
     * 是否点赞 true-点赞
     */
    @TableField(exist = false)
    private Boolean like;

    /**
     * 评论内容
     */
    private String content;

    /**
     * 是否展开
     */
    @TableField(exist = false)
    private Boolean isExpand;

    /**
     * 点赞数量
     */
    @TableField(exist = false)
    private Integer likeNum;

    /**
     * 子评论
     */
    @TableField(exist = false)
    private List<ArticleComment> reply;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}